.\" Manpage for eos-updater-prepare-volume.
.\" Documentation is under the same licence as the eos-updater package.
.TH man 8 "03 Oct 2017" "1.0" "eos\-updater\-prepare\-volume man page"
.\"
.SH NAME
.IX Header "NAME"
eos\-updater\-prepare\-volume — Endless OS Updater USB Drive Preparation Tool
.\"
.SH SYNOPSIS
.IX Header "SYNOPSIS"
.\"
\fBeos\-updater\-prepare\-volume [\-q] \fPvolume-directory\fB [\fPflatpak\-ref\fB …]
.\"
.SH DESCRIPTION
.IX Header "DESCRIPTION"
.\"
\fBeos\-updater\-prepare\-volume\fP is a utility to prepare a USB drive with a
copy of the computer’s Endless OS updates and flatpak apps, so those apps and
updates can be applied to another computer running Endless OS, bringing it up
to date.
.PP
It will always include a copy of the Endless OS. Any flatpak applications that
have been configured to autoinstall upon update will also be included
unconditionally (see \fBeos\-updater-flatpak-installer\fP(8)). Additionally,
any apps listed on the command line will be included. Each app must be
specified as a flatpak ref, followed by the flatpak ref of the next app, etc.
.PP
The updates will be put in an OSTree repository in the \fB.ostree/repo\fP
directory on the USB drive. The path of the mounted drive must be passed as the
first argument to the program. Other files on the drive will not be affected.
.PP
The runtimes needed for the flatpak apps will be put on the USB drive as well.
No additional locales or other extensions will be added unless explicitly
listed.
.PP
\fBeos\-updater\-prepare\-volume\fP is designed to be run manually by system
administrators as a tool for updating computers which otherwise cannot be
updated. It is not intended to be used for routine updates of computers.
.PP
If the computer has been converted to not use OSTree, its OS updates cannot be
copied onto a USB drive using this tool.
.\"
.SH OPTIONS
.IX Header "OPTIONS"
.\"
.IP "\fB\-\-preserve\-permissions\fP"
Don't make \fBvolume-directory\fP world readable (by other user IDs) so it can
be used on another computer even if it uses a filesystem like ext4 that
preserves Linux permissions. You generally don't want to use this option.
.\"
.IP "\fB\-q\fP, \fB\-\-quiet\fP"
Do not print informational output.
.\"
.SH EXAMPLES
.IX Header "EXAMPLES"
.\"
Example of updating \fIold\-machine\fP from \fInew\-machine\fP:
.PP
.nf
.RS
new\-machine$ # List available apps
new\-machine$ flatpak list \-\-app
new\-machine$ sudo eos\-updater\-prepare\-volume /run/media/user/some\-volume \\
.br
               app/com.endlessm.photos/x86_64/master
.RE
.fi
.PP
On \fIold\-machine\fP, the updates can be applied automatically by running the
following after inserting the USB drive:
.PP
.nf
.RS
old\-machine$ eos\-autoupdater \-\-from\-volume /run/media/user/some\-volume
.RE
.fi
.PP
Alternatively, to do things manually, copy \fIeos\-updater.conf\fP from
\fI/usr/share/eos\-updater/\fP to \fI/etc/eos\-updater/\fP on
\fIold\-machine\fP, and edit it to look like:
.PP
.nf
.RS
[Download]
Order=volume;main;  # add the ‘volume’ source
.RE
.fi
.PP
Then run the following commands:
.PP
.nf
.RS
old\-machine$ eos\-updater\-ctl update
.RE
.fi
.PP
Finally, reboot \fIold\-machine\fP to finish applying the updates. Remove the
USB drive before or after rebooting.
.\"
.SH "ENVIRONMENT"
.IX Header "ENVIRONMENT"
.\"
\fPeos\-updater\-prepare\-volume\fP supports the standard GLib environment
variables for debugging. These variables are \fBnot\fP intended to be used in
production:
.\"
.IP \fI$G_MESSAGES_DEBUG\fP 4
.IX Item "$G_MESSAGES_DEBUG"
This variable can contain one or more debug domain names to display debug output
for. The value \fIall\fP will enable all debug output. The default is for no
debug output to be enabled.
.\"
.SH "EXIT STATUS"
.IX Header "EXIT STATUS"
.\"
\fBeos\-updater\-prepare\-volume\fP may return one of several error codes if it
encounters problems.
.\"
.IP "0" 4
.IX Item "0"
No problems occurred. The repository was successfully created on the USB drive.
.\"
.IP "1" 4
.IX Item "1"
There was an error while creating the repository.
.\"
.IP "2" 4
.IX Item "2"
An invalid option was passed to \fBeos\-updater\-prepare\-volume\fP on startup.
.\"
.IP "3" 4
.IX Item "3"
\fBeos\-updater\-prepare\-volume\fP was not run as root.
.\"
.SH "SEE ALSO"
.IX Header "SEE ALSO"
.\"
\fBeos\-autoupdater\fP(8),
\fBeos\-updater\fP(8),
\fBeos\-updater.conf\fP(5),
.\"
.SH BUGS
.IX Header "BUGS"
.\"
Any bugs which are found should be reported on the project website:
.br
\fIhttps://support.endlessm.com/\fP
.\"
.SH AUTHOR
.IX Header "AUTHOR"
.\"
Endless Mobile, Inc.
.\"
.SH COPYRIGHT
.IX Header "COPYRIGHT"
.\"
Copyright © 2017 Endless Mobile, Inc.
